using System;

namespace ERP.ERPSystem.ProductionSystem.Dto
{
    /// <summary>
    /// 生产工单甘特图查询条件DTO
    /// </summary>
    public class ProductionWorkOrderGanttQueryDto
    {
        /// <summary>
        /// 工单编码
        /// </summary>
        public string? WorkOrderCode { get; set; }

        /// <summary>
        /// 工单名称
        /// </summary>
        public string? WorkOrderName { get; set; }

        /// <summary>
        /// 来源单据
        /// </summary>
        public string? SourceDocumentNo { get; set; }

        /// <summary>
        /// 产品编码
        /// </summary>
        public string? ProductCode { get; set; }

        /// <summary>
        /// 产品名称
        /// </summary>
        public string? ProductName { get; set; }

        /// <summary>
        /// 客户编码
        /// </summary>
        public string? CustomerCode { get; set; }

        /// <summary>
        /// 客户名称
        /// </summary>
        public string? CustomerName { get; set; }

        /// <summary>
        /// 需求日期范围开始
        /// </summary>
        public DateTime? DemandDateStart { get; set; }

        /// <summary>
        /// 需求日期范围结束
        /// </summary>
        public DateTime? DemandDateEnd { get; set; }

        /// <summary>
        /// 生产状态筛选
        /// 1-草稿 2-已确认 3-已完成 4-暂停 5-异常
        /// </summary>
        public int? ProductionStatus { get; set; }

        /// <summary>
        /// 甘特图显示开始时间
        /// </summary>
        public DateTime? GanttStartTime { get; set; }

        /// <summary>
        /// 甘特图显示结束时间
        /// </summary>
        public DateTime? GanttEndTime { get; set; }

        /// <summary>
        /// 当前页
        /// </summary>
        public int Page { get; set; } = 1;

        /// <summary>
        /// 每页数量
        /// </summary>
        public int Limit { get; set; } = 20;
    }
} 